#ifndef PROCEDIMENTOFUNCAO_H_
#define PROCEDIMENTOFUNCAO_H_

#include <iostream>
using namespace std;
#include <list>

#include "IdentificadorGenerico.h"
#include "Parametro.h"

class ProcedimentoFuncao: public IdentificadorGenerico {
public:
	ProcedimentoFuncao();

	ProcedimentoFuncao(string, int, int, string, int, string, int, int);
	void setReturnFuncao(string);
	void setDislocateProcedimentoFuncao(int);
	void insertParameterProcedimentoFuncao(Parametro*);
	void setQuantidadeParameter(int);
	void setNameProcedureFunctionMepa(string);

	string getNameProcedureFunctionMepa() const;
	string getReturnFuncao();
	int getDislocateProcedimentoFuncao();
	list<Parametro*> getParametersProcedimentoFuncao();
	int getQuantidadeParameter();

	virtual ~ProcedimentoFuncao();

	void show(Arquivo&);

private:
	string returnFuncao;
	int dislocateProcedimentoFuncao;
	list<Parametro*> parameterProcedimentoFuncao;
	int quantidadeParameter;
	string nameProcedureFunctionMepa;

};

#endif /*PROCEDIMENTOFUNCAO_H_*/
